package com.itheima.d3_inner_class3.CaseTest3;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * @ClassName Test
 * @Author 16799
 * @Date 2025/7/13 15:18
 * @Version 1.0
 * @Description TODO
 *
 * 备注，本套课程实际是黑马21年发出来的视频，23年又进行了重置
 * 第112集讲解匿名内部类的时候，没有遮挡时间，时间显示为2023/5/2，额外补充了讲解视频
 * 讲解了应用场景GUI编程来举例讲解匿名内部类
 **/
public class Test {
    public static void main(String[] args) {
        //匿名内部类在开发中的真实使用场景：GUI编程开发桌面程序，用的很少，我也不多写注释了
        //创建窗口
        JFrame win = new JFrame("登录界面");
        JPanel panel = new JPanel();
        win.add(panel);

        JButton btn = new JButton("登录");
        panel.add(btn);

        //给按钮绑定单击事件监听器  此时不需要定义实现类，而是用到了构建匿名内部类
       /* btn.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(win,"登录了");
            }
        });*/
        //上面最终简化为：
        btn.addActionListener(e-> JOptionPane.showMessageDialog(win,"登录了"));

        win.setSize(400,400);
        win.setLocationRelativeTo(null);
        win.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        win.setVisible(true);
    }
}
